[python] 元组拆包 您所在的位置:网站首页 python 将列表拆分 [python] 元组拆包

[python] 元组拆包

2023-11-08 16:03| 来源: 网络整理| 查看: 265

文章目录 引子 元组 元组的拆包 变量赋值 占位符的使用 变量值交换 函数参数赋值 附:压包

引子

以下Python表达式有很大区别:

# First: x,y = y,x+y # Second: x = y y = x+y

如果输入x=1,y=2,那么first输出的是x=2,y=3,而second输出的是x=2,y=4

原因是python在赋值语句中,总是在对变量进行实际设置之前,先对等号右侧进行全面评估。比如 a, b = b ,a 先将等号右侧打包成元组 (b,a) ,再顺序地分给等号左侧的 a, b 变量。【元组不以()为标志,而是以 , 为标志】

因此第一个表达式:

创建一个具有值的临时元组 y,x+y 分配给另一个临时元组 将元组提取为变量x和y

第一个表达式实际上进行了下述操作,是元组的拆包功能简化了这一过程

ham = y spam = x + y x = ham y = spam 元组

Python中的元组tuple和列表list类似,不同之处在于:元组的元素不能修改,所以被称为不可变列表;在形式上,元组用小括号()表示,而列表用中括号[]表示;在计算过程中,元组的处理将比列表要快。

因为元组不能更改,如果要修改元组,我们只能通过变量进行重新赋值,不能进行元素的增删,否则会报错。

除了与列表类似的处理索引、截取、计算元组个数、最大值、最小值、长度、删除元组外,

len(tuple) tuple.count(obj) max(tuple) min(tuple)

元组也有自己的函数,比如: 1.列表变元组,可以使用type()函数查看类型:

tuple('DNA') tuple(['DNA','RNA','AA','peptide'])

2.元组拼接,比较一下以下两种不同的方法所获得元组:

tuple1 = ('DNA'), (['DNA','RNA','AA','peptide']) tuple2 =('DNA') + (['DNA','RNA','AA','peptide'])

3.元组拆包

元组的拆包

元组的拆包就是将元组内部的每个元素按照位置,对应的赋值给不同变量。

可以用于:变量赋值,变量值交换,函数参数赋值,获取元组中特定位置的元素值,等。此外,Python函数return多个对象,默认就是以tuple形式返回。

变量赋值 val=(10, 20) a, b=val # 对元组拆包 print(a) # 10 print(b) # 20.5


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有